home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 2 / Atari Mega Archive CD - Volume 2.iso / 8bit / telecomm / xm301.doc < prev    next >
Text File  |  1995-04-22  |  11KB  |  501 lines

  1.  
  2. Here is the DOCs and UUE T: handler for the Xm301.  I couldn't get
  3. it to work with Kermit65.  If someone does, please let me know!
  4.  
  5.  
  6.      ATARI[R] XM301 MODEM[TM]
  7.   TECHNICAL SOFTWARE SPECIFICATIONS
  8.  
  9.  
  10. This manual contains the reference
  11. specifications for the software
  12. interfaces used by applications
  13. programs and the Operating System to
  14. control the XM301 Modem.
  15.  
  16.  
  17.               Contents
  18.  
  19. Section 1: Description of the XM301
  20. Modem
  21.    Interface With Other Products
  22.    Family of Products
  23.    Reference Documents
  24. Section 2: Logical Requirements for
  25. the XM301 Modem
  26.    Man/Machine Interface
  27.    The Six Standard Input/Output
  28. Command Interfaces
  29.      OPEN
  30.      CLOSE
  31.      INPUT
  32.      OUTPUT
  33.      STATUS
  34.    Parameters Passed as Data Strings
  35.    Error Handling
  36.    Buffer Use
  37.    Handler/Operating System Interface
  38.  
  39.  
  40.               SECTION 1
  41.    DESCRIPTION OF THE XM301 MODEM
  42.  
  43.  
  44. The XM301 Modem is a stand-alone
  45. peripheral which connects to the
  46. ATARI 400[TM]/800[TM], and the
  47. XL[TM]/XE[TM] series with the SIO
  48. interface by means of the serial bus.
  49. The modem connects to the telephone
  50. line by means of the RJ-11C jack.
  51.  
  52.  
  53. The modem control software resides in
  54. the internal ROM of the 8048 single
  55. chip microprocessor.  A separate
  56. software handler will be disk-based.
  57.  
  58.  
  59. Interface With Other Products
  60.  
  61.  
  62. The XM301 Modem is an input-output
  63. peripheral, and performs no actions
  64. without instructions from an
  65. applications program.
  66.  
  67.  
  68. To use the XM301 Modem from a
  69. high-level language, the following
  70. types of commands are required:
  71.  
  72.     OPEN
  73.     CLOSE
  74.     GET (or equivalent READ, INPUT)
  75.     PUT (or equivalent PRINT, WRITE)
  76.     POKE
  77.     PEEK
  78.  
  79.  
  80. Family Of Products
  81.  
  82.  
  83. The XM301 Modem performs
  84. telecommunications functions in
  85. conjunction with applications
  86. designed specifically for use with
  87. the XM301.  It is interface
  88. compatible with the Telelink II[TM]
  89. application.  The modem is capable of
  90. accepting any commands issued by the
  91. Telelink II handler without
  92. performing in an irregular fashion or
  93. returning the "illegal command" error
  94. code.
  95.  
  96.  
  97. Reference Documents
  98.  
  99.  
  100. ATARI Home Computer System Technical
  101. Reference Notes:
  102.   Operating System User's Manual
  103.   Operating System Source Listing and
  104. Hardware Manual
  105.  
  106.  
  107. The Technical Reference Notes are
  108. available from ATARI Customer
  109. Relations, P.O. Box 61657, Sunnyvale,
  110. CA  94088.  Cost:  $29.95 plus $2.50
  111. for shipping.  California residents
  112. should add appropriate sales tax.
  113. Write "Order for Technical Reference
  114. Notes" on the outside of the envelope
  115. to speed up the order process.
  116.  
  117.  
  118.               SECTION 2
  119.  LOGICAL REQUIREMENTS FOR THE XM301
  120. MODEM
  121.  
  122.  
  123. The handler is provided by an
  124. AUTORUN.SYS disk file.
  125.  
  126.  
  127. The modem controller, an 8048H
  128. microprocessor, is accessed by the
  129. handler through the serial I/O
  130. channel.
  131.  
  132.  
  133. The handler uses RAM for input and
  134. output buffers, variables for
  135. communicating with the user, and
  136. internal variables.  Internal
  137. variables are in low memory, with one
  138. variable (CMCMD) permanently
  139. allocated in the Operating System
  140. database for use by this handler.
  141.  
  142.  
  143. User communication variables are the
  144. system IOCBs, the zero page IOCB, and
  145. the command flag CMCMD.  IOCB use is
  146. described in the ATARI Home Computer
  147. System Technical Reference Notes, and
  148. in Section 2, Handler/Operating
  149. System Interface.  CMCMD use is
  150. described in Section 2, Parameters
  151. Passed As Data Strings.
  152.  
  153.  
  154. The XM301 handler allocates an input
  155. and output buffer where data can be
  156. entered between the application and
  157. the handler.  The output is 64 bytes
  158. long; the input buffer is 256 bytes
  159. long.  There are 2 bytes used for
  160. buffer control variables by the
  161. handler.  Applications use of buffer
  162. control bytes is described in Section
  163. 2, Buffer Use.  The remainder of the
  164. buffer area is reserved for the
  165. buffers.  The use of the buffer area
  166. is decided upon by the handler.  The
  167. application program has no defined
  168. way of directly accessing data in
  169. this area.
  170.  
  171.  
  172. Man/Machine Interface
  173.  
  174.  
  175. It is the responsibility of the mass
  176. storage media device to contain and
  177. load the XM301 handler along with the
  178. required applications.
  179.  
  180.  
  181. The Six Standard Input/Output Command
  182. Interfaces
  183.  
  184.  
  185. The applications program accesses the
  186. modem handler by  calling on CIO,
  187. which in turn, calls the handler.
  188. There are six I/O calls.
  189.  
  190.  
  191. (1)  OPEN
  192.  
  193.  
  194. An OPEN command must be performed
  195. before any other modem operations are
  196. allowed.  Any of the IOCBs may be
  197. used.  Aux1 specifies the I/O
  198. direction:  bit 2 for input; bit 3
  199. for output; both for bidirectional.
  200. The directionality applies only to
  201. communications data; initialization
  202. parameters are passed in either
  203. direction after any OPEN command.
  204. Aux2 is ignored by the handler.
  205.  
  206.  
  207. The device name is "T".  The rest of
  208. the filename is ignored.
  209.  
  210.  
  211. The command flag (CMCMD) is set to
  212. zero by the handler during OPEN.
  213.  
  214.  
  215. (2)  CLOSE
  216.  
  217.  
  218. The CLOSE command terminates the I/O
  219. procedure and releases the IOCB.  Any
  220. data waiting in the output buffer is
  221. sent first.  The buffer area is then
  222. relinquished and any input data
  223. remaining in the buffer is lost.
  224. When the buffer area is empty, the
  225. phone is placed on hook.
  226.  
  227.  
  228. [System.Reset] produces similar
  229. results to the CLOSE command except
  230. that the output buffer is not sent.
  231. Refer to Section 2, Handler/Operating
  232. System Interface, for details.
  233.  
  234.  
  235. The modem operation may be suspended
  236. without closing the IOCB, allowing
  237. the serial bus to continue
  238. communicating with other devices.
  239. This operation is described under the
  240. appropriate commands in Section 2,
  241. Parameters Passed As Data Strings.
  242.  
  243.  
  244. (3)  INPUT
  245.  
  246.  
  247. Any INPUT or GET operation through
  248. CIO will result in the modem handler
  249. being asked to provide data for the
  250. user.
  251.  
  252.  
  253. If no data is available, the handler
  254. waits for a character.  There is no
  255. time-out when waiting for received
  256. data.  This waiting is terminated
  257. when either the [Break] or
  258. [System.Reset] key is pressed.  The
  259. waiting is also terminated if the
  260. carrier is lost. Error 136 is
  261. returned when the carrier is lost.
  262.  
  263.  
  264. If data has been received, the
  265. Handler stores the characters in the
  266. input buffer as the data is received
  267. (up to the buffer's capacity).  The
  268. CIO request for data is then
  269. satisfied from this FIFO buffer.
  270. (See Section 2, Buffer Use.)
  271.  
  272.  
  273. The modem is double-buffered, so the
  274. handler has one character time to
  275. input each character received.
  276.  
  277.  
  278. Communications data is processed for
  279. parity and for translation from ASCII
  280. to ATASCII.  These operations are
  281. described under the appropriate
  282. commands in Section 2, Parameters
  283. Passed As Data Strings.
  284.  
  285.  
  286. (4)  OUTPUT
  287.  
  288.  
  289. Any PRINT or PUT operation to CIO
  290. will result in one or more bytes for
  291. the handler to hand to the modem.
  292.  
  293. This data is interpreted either as
  294. set-up commands and parameters, or as
  295. communications data, as controlled by
  296. the command flag byte CMCMD.  (See
  297. Section 2, Parameters Passed As Data
  298. Strings.)
  299.  
  300.  
  301. Communications data is processed for
  302. translation from ATASCII to ASCII,
  303. and then from parity.  These
  304. operations are described under the
  305. appropriate commands in Section 2,
  306. Parameters Passed As Data Strings.
  307.  
  308.  
  309. Output bytes are received by the
  310. handler and placed into the output
  311. buffer as fast as the bytes come from
  312. CIO.  If the FIFO buffer fills, the
  313. handler loops other character from
  314. CIO until space becomes available in
  315. the buffer.  There is no time-out
  316. when the handler is waiting for
  317. buffer space.  The looping is broken
  318. when either the [Break] or
  319. [System.Reset] key is pressed.  A
  320. loss of carrier also breaks the loop,
  321. and returns Error 136.
  322.  
  323.  
  324. Any time the buffer contains data,
  325. the modem continues to send until the
  326. buffer is emptied.
  327.  
  328.  
  329. (5)  STATUS (Combines with PEEK)
  330.  
  331.  
  332. The STATUS command causes the handler
  333. to place four bytes of status
  334. information in the Operating System
  335. status area DVSTAT through DVSTAT+3
  336. (02EA - 02ED).  These four bytes
  337. contain error and status information
  338. from both the modem and from the
  339. handler.  The application program can
  340. then PEEK at these four bytes.
  341.  
  342.  
  343. The four bytes contain the following
  344. bit-encoded data:
  345.  
  346.  
  347. DVSTAT+0:  Communications Error Flags
  348.  
  349.  
  350. The internal flags corresponding to
  351. the status bits in this byte are
  352. reset upon STATUS request.
  353.  
  354.  
  355. Bit 7: Framing error encountered on
  356. received data.
  357.  
  358.  
  359. Bit 6:  Byte-level overrun
  360. encountered.  The modem lost one or
  361. more characters due to slow interrupt
  362. handling.  This is caused either by
  363. slo